package com.qwz.learn;
/**
* @Description: 具体的聚合对象，实现创建相应迭代器对象的功能
* @Package com.qwz.learn.ConcreteIterator
* @author Qiuwuzhi
* @date 2019/12/26 14:58
* @version V1.0
*/
public  class ConcreteAggregate extends Aggregate{
    /**
     * 表示聚合对象的具体的内容
     */
    private String[] ss;

    public ConcreteAggregate(String[] ss) {
        this.ss = ss;
    }

    @Override
    public Iterator createIterator() {
        //实现创建Iterator的工厂方法
        return new ConcreteIterator(this);
    }

    /**
     * 获取索引对应的元素
     * @param index
     * @return
     */
    public Object get(int index){
        Object retObj = null;
        if (index<ss.length){
             retObj = ss[index];
        }
        return retObj;
    }

    /**
     * 获取聚合对象的大小
     * @return
     */
    public int size(){
        return this.ss.length;
    }
}
